package edu.indiana.d2i.util.hector;

import java.nio.ByteBuffer;
import java.util.List;
import java.util.SortedMap;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.mapreduce.InputSplit;

import edu.indiana.d2i.mapreduce.HectorConfigHelper;

import me.prettyprint.cassandra.service.CassandraHostConfigurator;
import me.prettyprint.cassandra.service.ThriftCluster;
import me.prettyprint.hector.api.Cluster;
import me.prettyprint.hector.api.Keyspace;
import me.prettyprint.hector.api.beans.HColumn;
import me.prettyprint.hector.api.factory.HFactory;

@SuppressWarnings("rawtypes")
public interface HectorHadoopClient {
//	protected String keyspaceName = null;
//	protected String clusterName = null;
//	protected String repositoryEPR = null;
//	protected Cluster cluster = null;
//	protected Keyspace keyspaceOperator = null;
//	protected InputSplit split = null;
//
//	public HectorHadoopClient(Configuration conf, InputSplit split) {
//		// this.keyspaceName = HectorConfigHelper.getKeySpaceName(conf);
//		// this.clusterName = HectorConfigHelper.getClusterName(conf);
//		// this.repositoryEPR = HectorConfigHelper.getInitialAddress(conf) + ":"
//		// + HectorConfigHelper.getRpcPort(conf);
//
//		cluster = new ThriftCluster(HectorConfigHelper.getClusterName(conf),
//				new CassandraHostConfigurator(
//						HectorConfigHelper.getInitialAddress(conf) + ":"
//								+ HectorConfigHelper.getRpcPort(conf)));
//		keyspaceOperator = HFactory.createKeyspace(
//				HectorConfigHelper.getInputKeyspace(conf), cluster);
//		this.split = split;
//	}

	public SortedMap<?, List<HColumn<?, byte[]>>> read();
}
